In-Flight Mechanics: A Software Package Management Conversion Project
نویسنده
چکیده
Over the course of most of 2009 I acted as the technical lead on a software package management conversion project in Yahoo Mail. I was part of a team of six people that ultimately reinstalled the software on most of the core servers and developed a completely new release management process. This paper documents the process we used, the problems we found, and the current state of the system as of mid-2010. The core of Yahoo Mail is approximately 7000 servers in datacenters around the world. These servers are grouped into farms of roughly 15 machines and associated back-end mail storage. Each farm stores the mail for a few hundred thousand to a few million users and acts as the central access point for a user’s Yahoo Mail experience. Traditionally these servers have been managed with a proprietary Yahoo dependency-based packaging system called yinst. Yinst operates similarly to RedHat rpm or Debian dpkg (although with more integration with a central software repository, so perhaps the best analogy is with yum or apt-get). In that system a release was just a list of packages to be installed on the hosts, with only minimal explicit considerations of dependencies. Any package dependencies not included in the initial install list would be automatically downloaded and installed as needed by yinst. The install process was based on an automated tool which would ssh to each host and launch yinst to request installation of the package list. This mechanism served Yahoo Mail well for a number of years. As the size of our installation grew, however, several deficiencies became apparent. Over time the task of managing our installed software and settings became more and more difficult. For example, the old system was completely additive – it was simple to create and install a new package, but extremely difficult to remove a package once it had been installed in production. This eventually led to more than 1300 packages installed on each server. Yinst includes per-package settings management as well as package management, but the existing system included no easy way to tie settings and packages together in a coherent release. The idea of rollback to a previous system state was also not well supported. To address these issues, a software tools group at Yahoo had been working for several years to develop a state-based package and setting management solution called Igor. Igor sits on top of yinst and enforces the exact package and setting list for a given host, through a versioned tagging mechanism. In essence this moves dependency checking from runtime to compile time (with compile time being the creation of the release). Igor had been in use for several years in other properties at Yahoo and appeared to work well. Thus in early 2009 my team was given the task of converting to Igor (igorizing) all the 7000 mail farm hosts. At the highest level this process included:
منابع مشابه
Packaging free software chemistry programs in Debian GNU/Linux: past, present and future
Started in 1993, the Debian project is one of the oldest Free Software projects. Due to its volunteer nature, specialists from all fields contribute to the Debian GNU/ Linux distribution, which includes more than 30000 packages. The Debian packaging policy, its advanced package management system and the conservative release process lead to a stable basis which is ideal for customized environmen...
متن کاملStrategic business-IT alignment of application software packages: bridging the information technology gap
An application software package implementation is a complex endeavour, and as such it requires the proper understanding, evaluation and redefining of the current business processes of an organisation to ensure that the implementation delivers on the objectives set at the start of the project. Numerous factors exist that may contribute to the unsuccessful implementation of application software p...
متن کاملEvaluating Project Management Software Packages Using a Scoring Model—A Comparison between MS Project and Primavera
Since the Mid 1980’s, an increasing number of project management software packages (PMSP) has appeared in the market to support project management organizations. Despite the wide spread of PMSP, projects based organizations are left unguided as to how they should select the most appropriate software tool for their intended business use. The aim of this research was to apply a scoring model deve...
متن کاملEvaluation Of PMI’s Risk Management Framework And Major Causes Of Software Development Failure In Software Industry
To reduce the high failure rate of software projects, managers need better tools to assess and manage software project risk. As a way to build such resources, on the other hand, details programs analysts must remainder create a better knowledge of the particular measurements of software package project risk as well as how they may have an impact on task performance. Development in this area con...
متن کاملDeveloping a Risk Management Model for Banking Software Development Projects Based on Fuzzy Inference System
Risk management is one of the most influential parts of project management that has a major impact on the success or failure of projects. Due to the increasing use of information technology (IT) systems in all fields and the high failure rate of IT projects in software development and production, it is essential to effectively manage these projects is essential. Therefore, this study is aimed t...
متن کامل